package com.fitt.web.fotto.racetrack

import com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl;

/**
 * <p> Description	: 比赛项目 </p>
 * <p> Copyright	: Copyright (c) 2016 by PCI-SUNTEK</p>
 * <p> Author 		: ZCCHUN </p>
 * <p> Create		: 2016年1月22日 下午4:35:37 </p> 
 * <p> version 		: 1.0 </p>
 */
class Race {
	/**
	 * 赛道名称
	 */
	String name
	/**
	 * 比赛日期
	 */
	Date startDate
	/**
	 * 比赛城市
	 */
	String city
	/**
	 * 比赛接到
	 */
	String state
	/**
	 * 跑步距离
	 */
	BigDecimal distance
	/**
	 * 报名费
	 */
	BigDecimal cost
	/**
	 * 接收最多报名人数
	 */
	Integer maxRunners = 1000
	
	static hasMany = [registrations: Registration]
//	static hasMany = [registrations: Registration, locations: Location, sponsors: Company]
	
	static constraints = {
		name(blank: false, maxSize: 50)
		startDate(validator:{return(it < new Date())})
		city()
		state()
		distance(min: 0.0)
		cost(min: 0.0, max: 100.0)
		maxRunners(min: 0, max: 1000)
	}

	static mapping = {
		sort "startDate" 
	}
	
	/**
	 * 将公里转成英里
	 */
	BigDecimal inMiles() {
		return distance * 0.6214
	}
	
	String toString() {
		return "${name}, ${startDate?.format('yyyy-mm-dd')}"
	}
}
